package modelo;

import modelo.Pessoa;
import modelo.ProdutoGrupo;

/**
 *
 * @author Lion Soft (A)
 *
 * OBJETIVO: Esta classe armazena as informações sobre os produtos utiluizados 
 * na clinica.
 * 
 */


public class Produto {

    int codigoProduto ;
    String nome;
    String fabricante;
    String unidadeMedida;
    double valorVenda;
    double valorCusto;
    double quantidadeEstoque;
    double quantidadeMinEstoque;
    char materialServico;
        
    ProdutoGrupo grupoProdutos = new ProdutoGrupo();
    Pessoa fornecedor = new Pessoa();
    ContaItem contaItem = new ContaItem();
        
    /**
    * Armazena o codigo do produto
    * @param codProd 
    */
    public void setCodigoProduto(int codigoProduto) {
        this.codigoProduto = codigoProduto;
    }
        
        
    /**
    * Retorna o codigo do produto
    * @return 
    */
    public int getCodigoProduto() {
        return codigoProduto;
    }

        
    /**
    * Armazena o nome do fabricante
    * @param fabricante 
    */
    public void setFabricante(String fabricante) {
        this.fabricante = fabricante;
    }

        
    /**
    *Retorna o nome do fabricante
    * @return 
    */
    public String getFabricante() {
        return fabricante;
    }

    /**
    * Armazena o nome do produto
    * @param nome 
    */
    public void setNome(String nome) {
        this.nome = nome;
    }

        
    /**
    * Retorna o nome do produto
    * @return 
    */
    public String getNome() {
        return nome;
    }

        
    /**
    * Armazena o valor da venda ou do produto
    * @param preco 
    */
    public void setValorVenda(double valorVenda) {
        this.valorVenda = valorVenda;
    }

        
    /**
    * Retorna o valor da venda ou do produto
    * @return 
    */
    public double getValorVenda() {
        return valorVenda;
    }
        
     /**
     * Armazena a quantidade de medicamentos em estoque
     * @param quantEstoque
     */
    public void setQuantidadeEstoque(double quantidadeEstoque) {
        this.quantidadeEstoque = quantidadeEstoque;
    }


    /**
     * Retorna  a quantidade de medicamentos em estoque
     * @return
     */
    public double getQuantidadeEstoque() {
        return quantidadeEstoque;
    }

    /**
     * Armazena a unidade de medida do medicamento.
     * @param unidadeMedida
     */
    public void setUnidadeMedida(String unidadeMedida) {
        this.unidadeMedida = unidadeMedida;
    }


    /**
     * Retorna a unidade de medida do medicamento.
     * @return
     */
    public String getUnidadeMedida() {
        return unidadeMedida;
    }

    /**
     * Armazena se o produto é material ou a prestacao de um servico
     * @param materialServico
     */
    public void setMaterialServico(char materialServico){
        this.materialServico = materialServico;
    }

    /**
     * Retorna se o produto é material ou a prestacao de um servico
     * @return
     */
    public char getMaterialServico(){
        return (materialServico);
    }

    /**
     * Retorna a conta do item
     * @return 
     */
    public ContaItem getContaItem() {
        return contaItem;
    }

    /**
     * Armazena a conta do item
     * @param contaItem 
     */
    public void setContaItem(ContaItem contaItem) {
        this.contaItem = contaItem;
    }

    /**
     * Retorna o fornecedor
     * @return 
     */
    public Pessoa getFornecedor() {
        return fornecedor;
    }

    /**
     * Armazena o fornecedor
     * @param fornecedor 
     */
    public void setFornecedor(Pessoa fornecedor) {
        this.fornecedor = fornecedor;
    }

    /**
     * Retorna o grupo de produtos
     * @return 
     */
    public ProdutoGrupo getGrupoProdutos() {
        return grupoProdutos;
    }

    /**
     * Armazena o grupo de produtos
     * @param grupoProdutos 
     */
    public void setGrupoProdutos(ProdutoGrupo grupoProdutos) {
        this.grupoProdutos = grupoProdutos;
    }

    /**
     * Armazena a quantidade minimo de estoque
     * @return 
     */
    public double getQuantidadeMinEstoque() {
        return quantidadeMinEstoque;
    }
    
    /**
     * Armazena a quantidade minimo de estoque
     * @param quantidadeMinEstoque 
     */
    public void setQuantidadeMinEstoque(double quantidadeMinEstoque) {
        this.quantidadeMinEstoque = quantidadeMinEstoque;
    }

    /**
     * Retorna o valor do custo do produto
     * @return 
     */
    public double getValorCusto() {
        return valorCusto;
    }

    /**
     * Armazema o valor do custo do produto
     * @param valorCusto 
     */
    public void setValorCusto(double valorCusto) {
        this.valorCusto = valorCusto;
    }
}